1. Field of the Invention
The present invention relates to computer system operations and, and, in particular, to the operation of a computer system executing programs embedded in a read-only device such as a computer read only memory (ROM) device. More particularly, the present invention relates to the operation of an embedded computer system having a ROM device and a random access memory (RAM) device to minimize the size of the RAM device by delaying the loading of dynamic data from the ROM device to the RAM device until modification of that data is required.
2. Background and Related Art
The present invention is directed to an improved method and apparatus for use with embedded computer systems. Embedded computer systems include a processor for performing instructions and input and output interfaces to collect data and transmit control signals. The instructions to be performed are typically stored on a read-only memory ROM device. Embedded computer systems are used, for example, to control automobile engine function and to provide a variety of other "intelligent devices."
Manufacturers using embedded computer systems are very conscious of the cost of each component of those systems. Small cost savings in embedded systems used in mass produced items such as automobiles are very important when considered over the production volume of the item. The size of ROM and the size of random access memory (RAM) provided for an embedded system directly affect cost. ROM is less expensive than RAM and has the advantage of retaining data even when powered off (ROM provides non-volatile storage). Manufacturers therefore benefit by storing the as much of the program and data code in a ROM device as possible and by supplying a RAM device of minimal size.
ROM images are therefore used to contain the basic operating programs for an embedded device. A minimum amount of RAM is provided to store data readings and other changeable information. Dynamic or changeable data must reside in the random access device. Existing embedded systems require sufficient RAM to load all dynamic data into RAM when the tasks are initialized. A particular piece of dynamic data may or may not be changed during a particular execution sequence. Thus, loading of all dynamic data into RAM consumes more RAM than is needed to contain the data actually modified during an execution sequence.
U.S. Pat. No. 5,437,018 entitled "Emulation of Semiconductor and Magnetic Auxiliary Storage Devices with Semiconductor Memory" discusses a prior art system than includes copying of modifiable ROM areas to RAM on system initialization.
Read-only data is often mapped to RAM in computer systems. U.S. Pat. No. 5,367,658 entitled "Interrupt Management Method" discusses the mapping of ROM data into RAM memory and the use thereof. U.S. Pat. No. 5,193,170 entitled "Methods and Apparatus for Maintaining Cache Integrity Whenever a CPU Write to ROM Operation is Performed with ROM Mapped to RAM" is directed to a cache management system that detects CPU write to ROM mapped to RAM and invalidates CPU cache data associated with the mapped ROM data. This patent discloses full mapping of ROM into RAM.
The prior art does not provide any way to load only selected dynamic data from ROM to RAM so that RAM requirements are minimized. Thus, a technical problem exists of finding a way to load into RAM only the dynamic data that will be changed during execution. Solution of this problem will reduce the size of the RAM required thereby reducing the cost of manufactured embedded systems.